package com.yifeng.servlet.admin;

import com.yifeng.factory.ServiceFactory;
import com.yifeng.service.UserService;
import com.yifeng.servlet.BaseServlet;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/admin/users/list")
public class UserListServlet extends BaseServlet {

    /*
    负责人：

    功能：通过服务工厂获取 UserService 实例，用于调用分页查询用户列表的业务方法

    参数：无

    返回值:无
    */
    private final UserService userService = ServiceFactory.getUserService();

    /*
    负责人：

    功能：处理分页查询所有用户列表的请求，从 URL 参数中解析页码和每页数量，调用服务层获取数据并返回 JSON 响应

    参数：req - HTTP 请求对象，包含可选的 pageNum 和 pageSize 查询参数；resp - HTTP 响应对象

    返回值:无（通过 resp 直接输出包含用户列表的 Result JSON）
    */
    @Override
    protected void doHandle(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        // 1. 调用服务层获取用户列表
        var result = userService.getAllUsers();

        // 2. 返回结果
        writeJson(resp, result);
    }

    /*
    负责人：

    功能：安全地将字符串解析为正整数，若解析失败或值非正，则返回默认值

    参数：str - 待解析的字符串；defaultValue - 解析失败或值无效时返回的默认整数值

    返回值:解析成功的正整数，或 defaultValue
    */
    private int parsePositiveInt(String str, int defaultValue) {
        return 0;
    }
}